package com.exam.student.mapper;

import com.exam.entity.*;
import com.exam.entity.dto.RegisterDto;
import com.exam.entity.vo.MessageVo;
import com.exam.entity.vo.ReplayVo;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface PageMapper {


    /**
     * 试卷查找分页
     * @param examManage
     * @return
     */
    Page<ExamManage> pageQuery(ExamManage examManage);

    /**
     * 查询选择题
     * @param multiQuestion
     * @return
     */
    List<MultiQuestion> findMultiQuestion(MultiQuestion multiQuestion);

    /**
     * 查询填空题
     * @param fillQuestion
     * @return
     */
    List<FillQuestion> findFillQuestion(FillQuestion fillQuestion);

    /**
     * 查询判断题
     * @param judgeQuestion
     * @return
     */
    List<JudgeQuestion> findJudgeQuestion(JudgeQuestion judgeQuestion);

    /**
     * 将学生的分数插入进去
     * @param score
     * @return
     */
    int insertScore(Score score);

    /**
     * 查询我的分数
     * @param score
     * @return
     */
    Page<Score> findMyScore(Score score);

    /**
     * 查找所有的留言
     * @param messageVo
     * @return
     */
    Page<MessageVo> findAllMessage(MessageVo messageVo);

    /**
     * 查找所有的评论
     * @param replayVo
     * @return
     */
    List<ReplayVo> findAllReplay(ReplayVo replayVo);

    /**
     * 插入留言消息
     * @param messageVo
     * @return
     */
    int insertMessage(MessageVo messageVo);

    /**
     * 插入评论消息
     * @param replayVo
     * @return
     */
    int insertReplay(ReplayVo replayVo);

    /**
     * 删除评论消息
     * @param replayVo
     * @return
     */
    int replayDelete(ReplayVo replayVo);

    /**
     * 删除留言消息
     * @param messageVo
     * @return
     */
    int deleteMessage(MessageVo messageVo);

    /**
     * 修改密码
     * @param updatePwdDto
     * @return
     */
    int updatePwdDto(RegisterDto updatePwdDto);


    int insertAvatar(Avatar avatar);
}
